
//filter/map/reduce
const nums=[10,20,111,222,343,231,22]
//1.filter函数的使用
//filter中的回调函数有一个要求，必须返回一个boolean值
//true:当返回true，函数内部会自动将此次回调的n添加到一个新的数组中
//false:当返回的false时，函数内部回过滤掉此次的n
nums.filter(function(n){
    return n<=100
})
//2.map函数的使用(给每一个元素进行处理，然后返回一个新的数组)
nums.map(function(n){
    return n*2
})
//3.reduce函数的使用(对数组中所有的内容进行汇总)
//preValue:前一次返回的值
nums.reduce(function(preValue,n){
    return preValue+n
},0) 


//结合使用(对数组中小于等于100的元素乘以2，然后求和)
const total=nums.filter(function(n){
    return n<=100
}).map(function(n){
    return n*2
}).reduce(function(preValue,n){
    return preValue+n
},0)

//使用箭头函数简写
const total=nums.filter(n=>n<=100).map(n=>n*2).reduce((pre,n)=>pre+n,0);
const total2=nums.filter(n=>n<=100).map(n=>n*2).reduce((pre,n)=>pre+n,0);